package com.zenith.middleware.po.dto.edu;

import com.zenith.common.base.BaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@Schema(name = "EduStudentDTO", description = "学生DTO")
public class EduStudentDTO extends BaseDTO {
    
    @Schema(description = "主键ID")
    private Long id;
    
    @Schema(description = "学号")
    private String studentNo;
    
    @Schema(description = "用户ID")
    private Long userId;
    
    @Schema(description = "所属院系ID")
    private Long departmentId;
    
    @Schema(description = "所属专业ID")
    private Long majorId;
    
    @Schema(description = "所属班级ID")
    private Long classId;
    
    @Schema(description = "入学年份")
    private Integer enrollmentYear;
    
    @Schema(description = "学籍状态：1-在读 2-休学 3-退学 4-毕业")
    private Integer status;
    
    @Schema(description = "预计毕业时间")
    private Date expectedGraduationTime;
    
    @Schema(description = "实际毕业时间")
    private Date actualGraduationTime;
    
    @Schema(description = "扩展信息（JSON）")
    private String extJson;
}